#include <string>
#include<fstream>
class Util
{
    public:
    static bool ReadOneLine(std::string &reqstr, std::string *reqline, std::string blanksep)
    {
        auto pos=reqstr.find(blanksep);
        if(pos==std::string::npos)
        {
            return false;
        }
        *reqline=reqstr.substr(0,pos);
        reqstr.erase(0,pos+blanksep.size());
        return true;
    }
    static bool ReadFileContent(std::string& targetfile, std::string* text)
    {
       // text->clear();
       //以文本读
        // std::ifstream in(targetfile);
        // if(!in.is_open())
        // {
        //     return false;
        // }
        // std::string buffer;
        // while(std::getline(in,buffer))
        // {
        //     *text+=buffer;
        // }
        // in.close();
        //return true;


        //以二进制方式读写
        std::ifstream in(targetfile,std::ios::binary);
        if(!in.is_open()) return false;
        int filesize=FileSize(targetfile);
        text->resize(filesize);
        in.read((char *)text->c_str(),filesize);
        in.close();
        return true;
    } 

    static int FileSize(std::string filename)
    {
        std::ifstream in(filename,std::ios::binary);
        if(!in.is_open()) return -1;
        int ret=0;
        in.seekg(0,in.end);
        ret=in.tellg();
        in.seekg(0,in.beg);
        in.close();
        return ret;
    }
};